1. Technical Field
The present invention generally relates to computer system management and in particular to visual representations of computer data. Still more particularly, the present invention relates to improved representations of tree structures in a computer system.
2. Description of the Related Art
A variety of application programs and operating systems include a user interface feature enabling users to view a listing of information stored on a computer. For example, the Windows 98 operating system from Microsoft Corporation includes a Windows Explorer program to help the user keep track of files stored in the computer. Since even simple PCs have the capacity to store thousands of files, it is important for many applications to include an effective means for viewing lists of information stored on a computer.
Large lists of files, directories and other computer resources are much easier to understand when portrayed in a hierarchical fashion. A hierarchical representation is an effective method of listing computer resources because it groups related subject matter together in a manner that enables the user to locate desired items more easily. One way to represent a hierarchy is to use a tree structure. A tree structure includes a number of reference points called nodes that together comprise a tree. The origin or base of a tree is called the root node, which is characterized as having no parent nodes. Every other node has only one parent and potentially one or more children nodes. A leaf is the lowest node in the hierarchy of the tree and thus has no children. This concept of a tree structure can be applied to many types of data or computer resource classifications.
One example of this tree structure is a file system where related information is grouped together using a hierarchy of sub-directories. In this example, the main directory is the root node of the tree, and a number of sub-directories to the main directory are its child nodes. Each sub-directory can be broken into a number of other sub-directories to achieve additional layers of hierarchy. At each level of hierarchy, there may be a number of files, which are leaf nodes of the tree structure. In addition to directories of files, the concept of a tree structure can be extended to other arbitrary groupings of data.
While using a tree structure is an effective way to represent complex information stored in a computer, it is important for the computer to display information such that the user can easily browse through it. It is quite typical to have complex tree structures in today""s computer systems, especially considering the growing memory capacity of the typical personal computer. Computer network applications add further complexity because of the vast amount of data that can be distributed across a network.
Network database applications especially require an effective user interface to represent database resources distributed across a network. In a typical network database configuration, it is not unusual to have a large number of server database applications distributed throughout a computer network. Each server database application in the network can be associated with a very complex hierarchy of information. As a result, it is very difficult for users to locate desired information without an effective user interface to view and navigate through the complex hierarchy of information distributed across the network.
A text-based user interface can be used to navigate information stored in a hierarchical tree structure, but such user interfaces are rather limited. These text-based user interfaces do not convey enough information about the overall hierarchy to the user because they can only display a flat listing of one level of the hierarchy at a time. Unless the user can remember where an item is located in the tree structure, he/she often has to repeatedly page through levels of hierarchy before finding the proper path to the desired item.
User interfaces displaying a graphical representation of a tree structure offer a more effective interface than the text-based approach. The Windows Explorer interface, for example, graphically displays the hierarchy of a file system. It allows the user to view several layers of hierarchy at once, and also enables the user to interactively expand nodes in the tree structure. A user can xe2x80x9cexpandxe2x80x9d a node by selecting and clicking on a parent node, causing the Windows Explorer to show child nodes of the parent node.
While graphical user interfaces such as the Windows Explorer feature in Windows operating systems provide better performance, they do not provide an effective interface for very large and complex tree structures such as those typically encountered in network database applications. One drawback of the Windows Explorer product is that it only allows the user to view one portion of a tree at one time. The user cannot break up the tree into smaller more manageable pieces of information while maintaining the tree structure. The Windows Explorer does allow a user to expand a leaf in the tree, but the utility of this feature is limited. When a user expands a tree in a node, the Windows Explorer interface displays a separate window containing a flat list of child nodes of the parent node. This separate window does not represent a separate and new hierarchical tree; but rather, it merely represents a flat list of nodes similar to the flat list provided in text-based interfaces.
In general, graphical user interfaces for navigating hierarchical structures are limited by the standard size of display screens on today""s computer systems. It is very difficult for a user to navigate through complex tree structures when the display screen can only accommodate a very small portion of the tree structure. To navigate from one node to another requires using the up and down or left and right scrollbar. There is a need, therefore, for an improved user interface that enables users to more easily and effectively navigate through complex hierarchies of information stored in a computer system.
It is therefore one object of the present invention to provide improved computer system management capabilities.
It is another object of the present invention to provide improved visual representations of computer data.
It is yet another object of the present invention to provide improved representations of tree structures in a computer system.
The foregoing objects are achieved as is now described. Since a window can only present a certain amount of information, multi-windows are used to represent different branches of a single tree structure. The user can select any tree node and choose xe2x80x9cstart new windowxe2x80x9d action. A visual link is attached from the parent node to the virtual root node of the new subtree window. Within each window, information is displayed in a more manageable manner. The subtrees can be merged back into the parent tree.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.